#pragma once

#include "../xml/xml_unpack.hpp"

namespace topcvt
{
	class Cnaps2Unpack : public XmlUnpack
	{
		string m_signStr;
		vector<string> m_signStrs;
	public:
		Cnaps2Unpack(ByteBuffer& message);
		virtual ~Cnaps2Unpack() {};

		virtual PolicyContext& unpackPolicy(PolicyContext& ctx, PolicyCfg& cfg) override;
		virtual string unpackField(pugi::xml_node& node, FieldCfg& cfg, PolicyContext& ctx) override;
		virtual void unpackStruct(pugi::xml_node& node, StructCfg& cfg, PolicyContext& ctx) override;

		virtual void checkElementCfgValid(AttributeableCfg& cfg) override;
	};
};